package map;

import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;

/**
 * Map的遍历
 */
public class MapDemo3 {
    public static void main(String[] args) {
        Map<String, Integer> map = new HashMap<>();
        map.put("语文", 101);
        map.put("数学", 75);
        map.put("英语", 7);
        map.put("政治", 70);
        map.put("历史", 60);
        map.put("地理", 80);
        /**
         * 遍历所有的key
         * Set<k>keySet()
         * 将当前map所有的key 以一个Set集合的型式返回
         * */
        System.out.println(map);
        Set<String> keySet = map.keySet();
        for (String key : keySet) {
            System.out.println("key" + key);
        }
        /**
         * 遍历所有vslue
         * Collection<V>values()
         * 将当前map中的value以一个集合返回
         * */
        Collection<Integer> value = map.values();
        for (Integer a : value) {
            System.out.println("value" + a);
        }



        /**
         * 遍历所有的Entry（键值对）
         * Set<Map.Entry<k,v>>entrySet()
         * 将当前map中的每一组键值对以一个Entry实例表示，并将键值对以set返回
         * */
        Set<Map.Entry<String,Integer>>entrySet=map.entrySet();
        for (Map.Entry<String,Integer>e:entrySet){
            String key=e.getKey();
            Integer v=e.getValue();
            System.out.println("key"+key+"value"+v);
        }
    }
}
